Visualization and Analysis of Software Clones
نویسنده
چکیده
Code clones are identical or similar fragments of code in a software system. Simple copy-paste programming practices of developers, reusing existing code fragments instead of implementing from the scratch, limitations of both programming languages and developers are the primary reasons behind code cloning. Despite the maintenance implications of clones, it is not possible to conclude that cloning is harmful because there are also benefits in using them (e.g. faster and independent development). As a result, researchers at least agree that clones need to be analyzed before aggressively refactoring them. Although a large number of state-of-the-art clone detectors are available today, handling raw clone data is challenging due to the textual nature and large volume. To address this issue, we propose a framework for large-scale clone analysis and develop a maintenance support environment based on the framework called VisCad. To manage the large volume of clone data, VisCad employs the Visual Information Seeking Mantra: overview first, zoom and filter, then provide details-on-demand. With VisCad users can analyze and identify distinctive code clones through a set of visualization techniques, metrics covering different clone relations and data filtering operations. The loosely coupled architecture of VisCad allows users to work with any clone detection tool that reports source-coordinates of the found clones. This yields the opportunity to work with the clone detectors of choice, which is important because each clone detector has its own strengths and weaknesses. In addition, we extend the support for clone evolution analysis, which is important to understand the cause and effect of changes at the clone level during the evolution of a software system. Such information can be used to make software maintenance decisions like when to refactor clones. We propose and implement a set of visualizations that can allow users to analyze the evolution of clones from a coarse grain to a fine grain level. Finally, we use VisCad to extract both spatial and temporal clone data to predict changes to clones in a future release/revision of the software, which can be used to rank clone classes as another means of handling a large volume of clone data. We believe that VisCad makes clone comprehension easier and it can be used as a test-bed to further explore code cloning, necessary in building a successful clone management system.
منابع مشابه
Variability in wood properties of promising willow clones
The objective of the article is to investigate the variability in growth and wood properties of the willow clones. The growth and wood traits of four year old 21 clones willow clones were investigated. Analysis of variance showed that willow clones differed significantly for all the studied growth and wood traits. Among the growth parameters the maximum heritability value was shown by height wh...
متن کاملVisualization of the Koomesh journal between 2006 and 2017: A bibliometric study
Introduction: The present study was conducted with the aim of analyzing the bibliometrics of Koomesh, as one of the oldest and most reputable Iranian medical journals. Materials and Methods: This study was conducted using a bibliometric method on the articles published in Koomesh during the years 2006-2017. For this purpose, through advanced search in the Scopus database, 764 papers were extrac...
متن کاملAdvanced Clone-Analysis to Support Object-Oriented System Refactoring
Clone detection and re-factoring have grown in importance over the past 10 years. In this talk, we will briefly review the WCRE 2000 work and discuss the advances in the field. The WCRE 2000 paper presented a computer assisted clone re-factoring approach. The process was based on metric-based clone analysis that produced clone clusters. Clones in the same cluster were then compared using tokenb...
متن کاملComposition of Seed Flour of Selected Nigerian Tea (Camellia sinensis) Clones – A Comparative Study
In the present article, six clones of Nigerian Tea (Camellia sinensis) were selected for comparative study. Proximate, phytochemical and functional characterization of the whole Tea seed flour (TSF) was examined. The characteristics of the expressed oil from the seed of the different clones were also carried out. Results shows that oil content ranged between 22.9% (C318) to 28.9% (C228...
متن کاملRelation of Code Clones and Change Couplings
Code clones have long been recognized as bad smells in software systems and are considered to cause maintenance problems during evolution. It is broadly assumed that the more clones two files share, the more often they have to be changed together. This relation between clones and change couplings has been postulated but neither demonstrated nor quantified yet. However, given such a relation it ...
متن کامل